const Koa=require('koa');
const path=require('path');
const content=require('./utils/content');
const parseMime=require('./utils/parseMime');
const staticPath=path.resolve(__dirname,'./static');
const app=new Koa();

console.log('staticPath:',staticPath);

app.use(async ctx=>{
    console.log('\n\nurl:',ctx.url);

    //获取静态资源内容，有可能是文件内容，目录，或404
    let _content=await content(ctx,staticPath);

    //解析请求内容的类型
    let _mime=parseMime(ctx.url);
    console.log('_mime:',_mime);

    //如果有对应的文件类型，就配置上下文的类型
    if(_mime){
        ctx.type=_mime;
    }

    //输出静态资源内容
    if(_mime && _mime.includes('image/')){
        ctx.res.writeHead(200);
        ctx.res.write(_content,'binary');
        ctx.res.end();
    }else{
        ctx.body=_content;
    }
});

app.listen(4000,()=>{
    console.log('StaticServer port:4000----'+new Date().toLocaleTimeString());
});